This invention relates to methods and apparatus for transferring data, status information and programming information between individual process modules which comprise an overall process. It also relates to methods and apparatus for controlling a process using the above methods for transferring data, and for displaying data associated with the process and with individual process steps.
Software applications are designed to achieve specific goals. To achieve these goals a process must often be followed. That is, certain tasks must be done in a specific order. Processes can be lengthy and complex. They often spawn other processes, such that several sub-processes are run simultaneously. Managing the information needed and manipulated by these processes can be difficult. Process owners have very limited powers when it comes to managing processes, because they do not have access to sufficient information to understand process status, and hence cannot act effectively.
Many process-oriented applications allow the user to design and start a process, but offer no tracking mechanism to monitor progress with respect to the information and the user perspective. Specifically, these applications provide no mechanism in the software for reporting completion of the entire process, or of a process sequence. Some applications provide basic tracking by indicating which steps have been completed and which are in progress. However, while a process step is executing, there is no indication of how far it has progressed, what portion of its logic has been completed, or the reason it may be delayed.